TECHNICAL REPORT 94-02 A Framework for Minimizing Thread Management Overhead Based on Asynchronous Cooperation between User and Kernel Schedulers
نویسندگان
چکیده
The performance of thread mechanism is dominated primarily by two kinds of thread-switching overheads: vertical switching (user/kernel domain switching) and horizontal switching (context switching between threads). Ideally, vertical switchings should occur only when system calls or external interrupts are invoked. Horizontal switchings within a user address space should occur only when threads synchronize with one another. Horizontal switchings in the kernel should occur only when processors are redistributed among user address spaces. Existing thread mechanisms, however, do not function ideally in a multiprogrammed system because (1) user-level programs determine how many threads to use, (2) the kernel does not inform the user level of which nor how many threads are actually being assigned processors, and/or (3) interaction between the kernel and user-level schedulers is synchronous. This paper presents a thread mechanism that minimizes the thread-switching overhead by avoiding these three problems; the kernel scheduler determines how many threads to use in each user address space, the kernel scheduler lets user-level schedulers know which threads are actually being assigned processors, and all interaction between the kernel scheduler and user-level schedulers is asynchronous. Employing these three ideas, the proposed mechanism minimizes thread switchings both in the kernel and in the user level, under the assumption that threads are managed without o -line information on applications to run. ANY OTHER IDENTIFYING INFORMATION OF THIS REPORT Submitted to IEEE Transactions on Parallel and Distributed Systems DISTRIBUTION STATEMENT First Issue 40 copies SUPPLEMENTARY NOTES REPORT DATE January 19, 1994 TOTAL NO. OF PAGES 24 WRITTEN LANGUAGE English NO. OF REFERENCES 22 DEPARTMENT OF INFORMATION SCIENCE Faculty of Science, University of Tokyo 7-3-1 Hongo, Bunkyo-ku Tokyo, 113 Japan A Framework for Minimizing Thread Management Overhead Based on Asynchronous Cooperation between User and Kernel Schedulers Shigekazu Inohara and Takashi Masuda
منابع مشابه
"Unstable Threads" Kernel Interface for Minimizing the Overhead of Thread Switching
The performance of threads is limited primarily by the overhead of two kinds of switching: vertical switching (user/kernel domain switching) and horizontal switching (context switching between threads). Although these switchings are indispensable in some situations, existing thread mechanisms involve unnecessary switchings on multiprogrammed systems, because of inappropriate interfaces between ...
متن کاملUser-Level Scheduling with Kernel Threads
Today’s operating systems provide kernel threads for parallel applications and multi-threaded servers. Scheduling plays an important role with regard to efficiency and fairness — especially for distributed applications, multimedia processing and server processes. A multi-threaded application should be able to specify the scheduling strategy for its threads itself. In most modern operating syste...
متن کاملStrands : An E cient and Extensible Thread Management Architecture
Applications can signi cantly bene t from specializing thread packages, schedulers and synchronization primitives to their needs. In prior systems, specialization has been accomplished through a partitioning of service across the user-kernel boundary. The kernel provides some basic control ow services while user code implements the specialized interface. This approach, though, has been shown to...
متن کاملControlling Kernel Scheduling from User Space: An Approach to Enhancing Applications' Reactivity to I/O Events
In this paper, we present a sophisticated mechanism that allows an application to tightly control the way I/O events are handled within the underlying operating system’s kernel. The goal is to provide an efficient user-level interface to allow applications to quickly detect and handle asynchronous I/O events. Reactivity is obviously a crucial property for many time-critical applications. For in...
متن کاملAsynchronous Problems on SIMD Parallel Computers
One of the essential problems in parallel computing is: can SIMD machines handle asynchronous problems? This is a di cult, unsolved problem because of the mismatch between asynchronous problems and SIMD architectures. We propose a solution to let SIMD machines handle general asynchronous problems. Our approach is to implement a runtime support system which can run MIMD-like software on SIMD har...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 1994